Skip to content

ci: add subprocess/http/unix transport matrix to SQL E2E#1

Merged
rustyconover merged 1 commit into
mainfrom
ci-multi-transport
Jun 24, 2026
Merged

ci: add subprocess/http/unix transport matrix to SQL E2E#1
rustyconover merged 1 commit into
mainfrom
ci-multi-transport

Conversation

@rustyconover

Copy link
Copy Markdown
Contributor

Exercise the full test/sql/* sqllogictest suite over all three VGI transports (subprocess/stdio, HTTP, AF_UNIX), not just subprocess.

  • ci/run-integration.sh: parameterized by $TRANSPORT. http boots --http --port 0 --port-file, polls the file, injects httpfs; unix boots --unix <sock>. Silent-skip guard prevents a fake http pass.
  • pyproject.toml + PEP 723 header: add the http extra (vgi-python[http] -> waitress). Relocked.
  • ci.yml: integration job is now an os x transport matrix; uv sync --frozen --extra http.

All three legs GREEN locally: subprocess/unix 58 assertions, http 66 (httpfs inject). Table-in-out functions carry no per-scan position state, so no cursor fix needed.

🤖 Generated with Claude Code

Exercise the full test/sql/* sqllogictest suite over all three VGI
transports (subprocess/stdio, HTTP, AF_UNIX), not just subprocess.

- ci/run-integration.sh: parameterize by $TRANSPORT. For http, boot the
  worker with `--http --port 0 --port-file <f>`, poll the port-file, set
  LOCATION=http://127.0.0.1:<port>, and inject `INSTALL httpfs FROM core;
  LOAD httpfs;` after each `LOAD vgi;` (the vgi HTTP transport rides on
  httpfs). For unix, boot with `--unix <sock>` and poll the socket.
  Trap-kill the out-of-band worker; cleanup preserves the real exit code.
  Add a silent-skip guard so a broken http leg cannot fake a pass (the
  sqllogictest runner auto-SKIPs errors containing "HTTP").
- pyproject.toml + nlp_worker.py PEP 723 header: add the `http` extra
  (vgi-python[http] -> waitress) so the worker can serve --http. Relock.
- .github/workflows/ci.yml: integration job becomes an os x transport
  matrix; install the worker with `uv sync --frozen --extra http`.

All three legs GREEN locally (haybarn-unittest): subprocess/unix 58
assertions, http 66 (httpfs inject). The table-in-out functions
(entities/tokens/sentences/noun_chunks) carry no per-scan position state,
so they need no cursor fix to survive HTTP continuations.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rustyconover rustyconover merged commit 380c467 into main Jun 24, 2026
10 checks passed
@rustyconover rustyconover deleted the ci-multi-transport branch June 24, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant